Conversation
Collaborator
Author
|
This change is part of the following stack: Change managed by git-spice. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1813 +/- ##
============================================
+ Coverage 87.68% 87.82% +0.14%
- Complexity 3458 3531 +73
============================================
Files 110 111 +1
Lines 11509 11857 +348
Branches 2366 2424 +58
============================================
+ Hits 10092 10414 +322
- Misses 652 664 +12
- Partials 765 779 +14 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
msridhar
force-pushed
the
polynull-explicit
branch
3 times, most recently
from
September 9, 2026 21:32
c7b6872 to
107b239
Compare
msridhar
force-pushed
the
polynull-explicit
branch
from
September 15, 2026 15:31
107b239 to
a63ed66
Compare
Retain the upstream fallback to the capture upper bound when javac omits the formal type variable on an unbounded wildcard. Assisted-by: Codex (gpt-6)
msridhar
force-pushed
the
polynull-explicit
branch
from
September 17, 2026 23:55
a63ed66 to
1f52bb7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1616.
Add JSpecify-mode library model support for polymorphic nullness in method signatures. Library model providers can identify top-level or nested parameter and return locations whose nullness must resolve together at each invocation.
Represent the linked nullness with a fresh, nullable-bounded synthetic inference variable for each call. Generate constraints from named arguments, lambdas, method references, and available result target types, and solve these constraints alongside ordinary generic method type-variable inference. Apply the resolved
@Nullableor@NonNullqualifier back to every modeled location in the call-site method type. Report a dedicated inference diagnostic when the linked locations impose incompatible constraints.Initially model
Optional.orElseGetandMap.computeIfAbsent, including calls through overriding methods. Extend nested type-path updates to replace types during inference and to preserve wildcard and captured-type structure when applying the resolved qualifier.Add tests covering named functional-interface arguments, lambdas, method references,
varresults, assignment targets, inherited models, explicit and inferred generic type arguments, and custom library model providers.Assisted-by: Codex (GPT-5)